package br.com.monise.view;

import java.awt.EventQueue;
import java.util.ArrayList;
import java.util.List;

import javax.swing.JInternalFrame;
import javax.swing.GroupLayout;
import javax.swing.GroupLayout.Alignment;
import javax.swing.table.DefaultTableModel;
import javax.swing.JScrollPane;
import javax.swing.JTable;

import br.com.monise.dao.CaracteristicasParceiroDao;
import br.com.monise.dao.ItemCaracteristicaDao;
import br.com.monise.dao.ParceiroDao;
import br.com.monise.model.CaracteristicasParceiro;
import br.com.monise.model.Parceiro;
import br.com.monise.tableModel.TableModelParceiroSimilar;

public class FrameCaracteristicasParceiros extends JInternalFrame {
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	private JTable tableParceiros;
	private TableModelParceiroSimilar model;
	private final DefaultTableModel modeloSimilaridade = new DefaultTableModel();

	/**
	 * Launch the application.
	 */
	public static void main(String[] args) {
		EventQueue.invokeLater(new Runnable() {
			public void run() {
				try {
					FrameCaracteristicasParceiros frame = new FrameCaracteristicasParceiros();
					frame.setVisible(true);
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		});
	}

	/**
	 * Create the frame.
	 */
	public FrameCaracteristicasParceiros() {
		setClosable(true);
		setBounds(100, 100, 778, 459);
		
		JScrollPane scrollPane = new JScrollPane();
		GroupLayout groupLayout = new GroupLayout(getContentPane());
		groupLayout.setHorizontalGroup(
			groupLayout.createParallelGroup(Alignment.LEADING)
				.addGroup(Alignment.TRAILING, groupLayout.createSequentialGroup()
					.addContainerGap(29, Short.MAX_VALUE)
					.addComponent(scrollPane, GroupLayout.PREFERRED_SIZE, 708, GroupLayout.PREFERRED_SIZE)
					.addGap(25))
		);
		groupLayout.setVerticalGroup(
			groupLayout.createParallelGroup(Alignment.LEADING)
				.addGroup(groupLayout.createSequentialGroup()
					.addGap(31)
					.addComponent(scrollPane, GroupLayout.PREFERRED_SIZE, 331, GroupLayout.PREFERRED_SIZE)
					.addContainerGap(68, Short.MAX_VALUE))
		);
		
		
		modeloSimilaridade.addColumn("Parceiro");
		modeloSimilaridade.addColumn("Idade");
		modeloSimilaridade.addColumn("Lingua");
		modeloSimilaridade.addColumn("Escolaridade");
		
		tableParceiros = new JTable(modeloSimilaridade);
		scrollPane.setViewportView(tableParceiros);
		getContentPane().setLayout(groupLayout);

		
		exibirCaracteristicasParceiro();
	}
	
	private void exibirCaracteristicasParceiro(){
		ParceiroDao parceiroDao = new ParceiroDao();
		ItemCaracteristicaDao itensDao = new ItemCaracteristicaDao();
		CaracteristicasParceiroDao caracteristicaParceiroDao = new CaracteristicasParceiroDao();
		List<CaracteristicasParceiro> caracteristicasParceiro = new ArrayList<CaracteristicasParceiro>();
		String idade;
		String escolaridade;
		String lingua;
		String nome;
		
		try {
			List<Parceiro> parceiros = parceiroDao.getAll();
			
			
		//	for(Parceiro parceiro : parceiros){
				
			for(int i =0 ; i < parceiros.size(); i++){
				caracteristicasParceiro = caracteristicaParceiroDao.getCaracteristicas(parceiros.get(i));
				nome = parceiros.get(i).getNome();
				
				idade = caracteristicasParceiro.get(2).getItensCaracteristicas().getInformacao();
				escolaridade = caracteristicasParceiro.get(0).getItensCaracteristicas().getInformacao();
				lingua = caracteristicasParceiro.get(1).getItensCaracteristicas().getInformacao();
				
              //   for(int j =0; j < caracteristicasParceiro.size(); j++){
                	 modeloSimilaridade.addRow(new Object[] {nome, escolaridade, lingua, idade});
               //  }
			}
			
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
}
